package com.xunji.standard.vo.rep;

import com.xunji.standard.common.Constant;
import com.xunji.standard.entity.CaseFile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * @Author: xuqiang_imyours
 * @Date: 2025/6/23 17:06
 * @Description:
 **/
@Data
@ApiModel("已上传文件解析列表")
public class CaseFileResponse {
    @ApiModelProperty("主键id")
    private String id; // 主键id
    @ApiModelProperty("上传号id")
    private Long infoId; // 上传号id
    @ApiModelProperty("文件名称")
    private String originalName; // 初始文件名称
    @ApiModelProperty("文件存储路径")
    private String originalPath; // 初始文件存储路径
    @ApiModelProperty("文件状态 0 初始化状态 1 成功 2 读取失败（需密码）")
    private String fileStatus; // 文件状态 0 初始化状态 1 成功 2 读取失败（需密码）
    @ApiModelProperty("创建时间")
    private LocalDateTime createdTime;


    public static CaseFileResponse getCaseFileResponse(CaseFile file) {
        CaseFileResponse cs = new CaseFileResponse();
        cs.setId(file.getId());
        cs.setInfoId(file.getInfoId());
        cs.setCreatedTime(file.getCreatedTime());
        cs.setOriginalName(file.getOriginalName());
        cs.setFileStatus(file.getFileStatus());
        /*// 处理文件路径
        int index = file.getOriginalPath().indexOf(Constant.XUQIANG_IMYOURS);
        String nPath = file.getOriginalPath().substring(index).replaceAll(Constant.XUQIANG_IMYOURS, "");
        cs.setOriginalPath(nPath);*/
        // 优化后的路径处理
        String originalPath = file.getOriginalPath();
        int index = originalPath.indexOf(Constant.XUNJI);
        String nPath = "";
        if (index >= 0) {
            nPath = originalPath.substring(index + Constant.XUNJI.length());
            if (nPath.startsWith("/") || nPath.startsWith("\\")) {
                nPath = nPath.substring(1);
            }
        } else {
            nPath = originalPath;
        }
        cs.setOriginalPath(nPath);

        return cs;
    }
}
